#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/wait.h>

#include "cmd.h"
#include "parse.h"
#include "cmd_test.c"
#include "parse_test.c"
#include "utest.c"

#define TEST_ADD(fn)		\
	extern void fn();	\
	utest_add(#fn, fn)

void test_add_and_run()
{
	TEST_ADD(test_parse_cmd_1);
	TEST_ADD(test_parse_cmd_2);
	TEST_ADD(test_parse_pipe_cmd_1);
	TEST_ADD(test_parse_pipe_cmd_2);
	TEST_ADD(test_exec_cmd);
	TEST_ADD(test_exec_pipe_cmd);
	utest_run();
}

int main(int argc, char *argv[])
{
	utest_parse_args(argc, argv, "-utest", test_add_and_run);
	puts("hello");
	return 0;
}
